API Documentation
Public Member Functions | List of all members
nkWinUi::MainSystem Class Referencefinal

The main system of the component. More...

Inheritance diagram for nkWinUi::MainSystem:

Public Member Functions

bool initialize ()
 
bool createDefaultTheme () const
 
WindowingSystem * getWindowingSystem () const
 
ClipboardgetClipboard () const
 
ComponentManagergetComponentManager () const
 
CursorManagergetCursorManager () const
 
FontManagergetFontManager () const
 
InputSystemgetInputSystem () const
 
LogManagergetLogManager () const
 
ThemeManagergetThemeManager () const
 
bool isInitialized () const
 
runRoutine getRunCallback () const
 
void setRunCallback (runRoutine callback)
 
void run ()
 
void tick ()
 
void prepareForShutdown ()
 
void shutdown ()
 
void notifyEvent ()
 

Detailed Description

The main system of the component.

Used to boot the component, and then automate some functionalities like the program loop. The system can be used as a Singleton, or as an isolated instance. For most cases, the Singleton usage should be sufficient. However, if another totally isolated system is needed for a limited lifetime, it can be instantiated elsewhere. Do note that depending on the WindowingSystem used, while the created resources will be isolated, the underlying used API might be in a common context.

Member Function Documentation

◆ initialize()

bool nkWinUi::MainSystem::initialize ( )

Initialization of the component. Has to be called before being able to use the component.

Returns
If the initialization process went smoothly (true) or not (false).

◆ createDefaultTheme()

bool nkWinUi::MainSystem::createDefaultTheme ( ) const

Creates the default theme. Part of the initialization routine.

Returns
If the initialization went smoothly (true) or not (false).

◆ getWindowingSystem()

WindowingSystem* nkWinUi::MainSystem::getWindowingSystem ( ) const
Returns
The active windowing system. Currently not exposed.

◆ getClipboard()

Clipboard* nkWinUi::MainSystem::getClipboard ( ) const
Returns
The clipboard compatible with this system.

◆ getComponentManager()

ComponentManager* nkWinUi::MainSystem::getComponentManager ( ) const
Returns
The component manager compatible with this system.
Remarks
The returned instance will be the equivalent of ComponentManager::getInstance() if the MainSystem is also the instance from MainSystem::getInstance(). Else, it will be a fully isolated instance, only accessible through this getter.

◆ getCursorManager()

CursorManager* nkWinUi::MainSystem::getCursorManager ( ) const
Returns
The cursor manager compatible with this system.
Remarks
The returned instance will be the equivalent of CursorManager::getInstance() if the MainSystem is also the instance from MainSystem::getInstance(). Else, it will be a fully isolated instance, only accessible through this getter.

◆ getFontManager()

FontManager* nkWinUi::MainSystem::getFontManager ( ) const
Returns
The font manager compatible with this system.
Remarks
The returned instance will be the equivalent of FontManager::getInstance() if the MainSystem is also the instance from MainSystem::getInstance(). Else, it will be a fully isolated instance, only accessible through this getter.

◆ getInputSystem()

InputSystem* nkWinUi::MainSystem::getInputSystem ( ) const
Returns
The input system compatible with this system.
Remarks
The returned instance will be the equivalent of InputSystem::getInstance() if the MainSystem is also the instance from MainSystem::getInstance(). Else, it will be a fully isolated instance, only accessible through this getter.

◆ getLogManager()

LogManager* nkWinUi::MainSystem::getLogManager ( ) const
Returns
The log manager compatible with this system.
Remarks
The returned instance will be the equivalent of LogManager::getInstance() if the MainSystem is also the instance from MainSystem::getInstance(). Else, it will be a fully isolated instance, only accessible through this getter.

◆ getThemeManager()

ThemeManager* nkWinUi::MainSystem::getThemeManager ( ) const
Returns
The theme manager compatible with this system.
Remarks
The returned instance will be the equivalent of ThemeManager::getInstance() if the MainSystem is also the instance from MainSystem::getInstance(). Else, it will be a fully isolated instance, only accessible through this getter.

◆ isInitialized()

bool nkWinUi::MainSystem::isInitialized ( ) const
Returns
If the component is correctly initialized (true) or not (false).

◆ getRunCallback()

runRoutine nkWinUi::MainSystem::getRunCallback ( ) const
Returns
The currently set run callback.

◆ setRunCallback()

void nkWinUi::MainSystem::setRunCallback ( runRoutine  callback)

Sets the callback for the running loop. This callback is called when the run() function is used, whenever the loop has done a tick.

Parameters
callbackThe callback to use.

◆ run()

void nkWinUi::MainSystem::run ( )

Enters the running loop, until the program is ended.

◆ tick()

void nkWinUi::MainSystem::tick ( )

If the running loop has to be run by external code, this function can be called within that function to tick the windowing system. Ticking comprises event handling, for instance.

◆ prepareForShutdown()

void nkWinUi::MainSystem::prepareForShutdown ( )

Prepares the component for shutdown. Has to be calkled before shutdown().

◆ shutdown()

void nkWinUi::MainSystem::shutdown ( )

Shuts the component, typically when the program ends.

◆ notifyEvent()

void nkWinUi::MainSystem::notifyEvent ( )

Fire an empty message to force an event down the system. Can be used in the running context to force a tick to occur, as depending on the windowing system it can wait for events before ticking.


The documentation for this class was generated from the following file: